import request from '@/config/axios'

// CRM 企业项目信息 VO
export interface ProjectVO {
  id: number // 编号
  customerId: number // 客户id
  customerName?: String // 客户名称
  createTime: Date // 创建时间
  updateTime: Date // 更新时间
  creator: string // 创建人
  creatorName?: string // 创建人名称
  updater: string // 修改人
  updaterName?: string // 修改人名称
  auditStatus: number // 审核状态
  processInstanceId?: string // 审核流程实例编号
}

// CRM 企业项目信息 API
export const ProjectApi = {
  // 查询CRM 企业项目信息分页
  getProjectPage: async (params: any) => {
    return await request.get({ url: `/crm/project/page`, params })
  },

  // 查询CRM 企业项目信息详情
  getProject: async (id: number) => {
    return await request.get({ url: `/crm/project/get?id=` + id })
  },

  // 企业项目信息审核
  submit: async (ids: number[],isReCreate: boolean) => {
    return await request.put({ url: `/crm/project/submit`,params: { ids: ids.join(',') ,isReCreate: isReCreate }} )
  },

  // 根据客户查询CRM 企业项目信息详情
  getProjectByCustomerId: async (customerId: number) => {
    return await request.get({ url: `/crm/project/getByCustomerId?customerId=` + customerId })
  },

  // 新增CRM 企业项目信息
  createProject: async (data: ProjectVO) => {
    return await request.post({ url: `/crm/project/create`, data })
  },

  // 修改CRM 企业项目信息
  updateProject: async (data: ProjectVO) => {
    return await request.put({ url: `/crm/project/update`, data })
  },

  // 删除CRM 企业项目信息
  deleteProject: async (id: number) => {
    return await request.delete({ url: `/crm/project/delete?id=` + id })
  },

  // 导出CRM 企业项目信息 Excel
  exportProject: async (params) => {
    return await request.download({ url: `/crm/project/export-excel`, params })
  },

// ==================== 子表（CRM 企业项目信息-电气方案图纸资料） ====================

  // 获得CRM 企业项目信息-电气方案图纸资料列表
  getProjectElectricListByProjectId: async (projectId) => {
    return await request.get({ url: `/crm/project/project-electric/list-by-project-id?projectId=` + projectId })
  },

// ==================== 子表（CRM 企业项目信息-能源报装类别） ====================

  // 获得CRM 企业项目信息-能源报装类别列表
  getProjectEnergyListByProjectId: async (projectId) => {
    return await request.get({ url: `/crm/project/project-energy/list-by-project-id?projectId=` + projectId })
  },

// ==================== 子表（CRM 企业项目信息-废气治理方案图纸资料） ====================

  // 获得CRM 企业项目信息-废气治理方案图纸资料列表
  getProjectGasListByProjectId: async (projectId) => {
    return await request.get({ url: `/crm/project/project-gas/list-by-project-id?projectId=` + projectId })
  },

// ==================== 子表（CRM 企业项目信息-其他工程方案图纸资料） ====================

  // 获得CRM 企业项目信息-其他工程方案图纸资料列表
  getProjectOtherListByProjectId: async (projectId) => {
    return await request.get({ url: `/crm/project/project-other/list-by-project-id?projectId=` + projectId })
  },

// ==================== 子表（CRM 企业项目信息-废水管道图纸资料） ====================

  // 获得CRM 企业项目信息-废水管道图纸资料列表
  getProjectPipelineListByProjectId: async (projectId) => {
    return await request.get({ url: `/crm/project/project-pipeline/list-by-project-id?projectId=` + projectId })
  },

// ==================== 子表（CRM 企业项目信息-生产线建设现状） ====================

  // 获得CRM 企业项目信息-生产线建设现状列表
  getProjectProductionListByProjectId: async (projectId) => {
    return await request.get({ url: `/crm/project/project-production/list-by-project-id?projectId=` + projectId })
  },

// ==================== 子表（CRM 企业项目信息-车间生产线图纸资料） ====================

  // 获得CRM 企业项目信息-车间生产线图纸资料列表
  getProjectWorkshopListByProjectId: async (projectId) => {
    return await request.get({ url: `/crm/project/project-workshop/list-by-project-id?projectId=` + projectId })
  },

// ==================== 子表（CRM 企业项目信息-项目验收资料） ====================

// 获得CRM 企业项目信息-项目验收资料列表
getProjectCheckListByProjectId: async (projectId) => {
  return await request.get({ url: `/crm/project/project-check/list-by-project-id?projectId=` + projectId })
},
}
